[INFO] fetching crate ray_tracing_core 0.1.1...
[INFO] checking ray_tracing_core-0.1.1 against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] extracting crate ray_tracing_core 0.1.1 into /workspace/builds/worker-5-tc1/source
[INFO] validating manifest of crates.io crate ray_tracing_core 0.1.1 on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate ray_tracing_core 0.1.1
[INFO] finished tweaking crates.io crate ray_tracing_core 0.1.1
[INFO] tweaked toml for crates.io crate ray_tracing_core 0.1.1 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded glm v0.2.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 996754d57260d9e613e134492045ecc2c8b290eb0ef29a51b7817786f4f122c6
[INFO] running `Command { std: "docker" "start" "-a" "996754d57260d9e613e134492045ecc2c8b290eb0ef29a51b7817786f4f122c6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "996754d57260d9e613e134492045ecc2c8b290eb0ef29a51b7817786f4f122c6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "996754d57260d9e613e134492045ecc2c8b290eb0ef29a51b7817786f4f122c6", kill_on_drop: false }`
[INFO] [stdout] 996754d57260d9e613e134492045ecc2c8b290eb0ef29a51b7817786f4f122c6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 754b9b2333f28792b35d0a2407265ff2e7a555057a1c9c6cca954f467f9c7b71
[INFO] running `Command { std: "docker" "start" "-a" "754b9b2333f28792b35d0a2407265ff2e7a555057a1c9c6cca954f467f9c7b71", kill_on_drop: false }`
[INFO] [stderr]    Compiling winapi-build v0.1.1
[INFO] [stderr]     Checking winapi v0.2.8
[INFO] [stderr]     Checking regex-syntax v0.3.9
[INFO] [stderr]     Checking utf8-ranges v0.1.3
[INFO] [stderr]     Checking memchr v0.1.11
[INFO] [stderr]     Checking getrandom v0.2.12
[INFO] [stderr]    Compiling kernel32-sys v0.2.2
[INFO] [stderr]     Checking aho-corasick v0.5.3
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking thread-id v2.0.0
[INFO] [stderr]     Checking thread_local v0.2.7
[INFO] [stderr]     Checking regex v0.1.80
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking env_logger v0.3.5
[INFO] [stderr]     Checking quickcheck v0.2.27
[INFO] [stderr]     Checking glm v0.2.3
[INFO] [stderr]     Checking ray_tracing_core v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: the type `[[[glm::Vector3<f64>; 2]; 2]; 2]` does not permit being left uninitialized
[INFO] [stdout]   --> src/math/perlin.rs:49:54
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let mut c: [[[Vector3; 2]; 2]; 2] = unsafe { MaybeUninit::uninit().assume_init() };
[INFO] [stdout]    |                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                                      |
[INFO] [stdout]    |                                                      this code causes undefined behavior when executed
[INFO] [stdout]    |                                                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: floats must be initialized
[INFO] [stdout]    = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[[[glm::Vector3<f64>; 2]; 2]; 2]` does not permit being left uninitialized
[INFO] [stdout]   --> src/math/perlin.rs:49:54
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let mut c: [[[Vector3; 2]; 2]; 2] = unsafe { MaybeUninit::uninit().assume_init() };
[INFO] [stdout]    |                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                                      |
[INFO] [stdout]    |                                                      this code causes undefined behavior when executed
[INFO] [stdout]    |                                                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: floats must be initialized
[INFO] [stdout]    = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.92s
[INFO] running `Command { std: "docker" "inspect" "754b9b2333f28792b35d0a2407265ff2e7a555057a1c9c6cca954f467f9c7b71", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "754b9b2333f28792b35d0a2407265ff2e7a555057a1c9c6cca954f467f9c7b71", kill_on_drop: false }`
[INFO] [stdout] 754b9b2333f28792b35d0a2407265ff2e7a555057a1c9c6cca954f467f9c7b71
[INFO] checking ray_tracing_core-0.1.1 against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] extracting crate ray_tracing_core 0.1.1 into /workspace/builds/worker-5-tc2/source
[INFO] validating manifest of crates.io crate ray_tracing_core 0.1.1 on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate ray_tracing_core 0.1.1
[INFO] finished tweaking crates.io crate ray_tracing_core 0.1.1
[INFO] tweaked toml for crates.io crate ray_tracing_core 0.1.1 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 56e2fbfce4146460ed9e5231bd1db0925a24b00b34b0ec26da13b12583ce9f58
[INFO] running `Command { std: "docker" "start" "-a" "56e2fbfce4146460ed9e5231bd1db0925a24b00b34b0ec26da13b12583ce9f58", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "56e2fbfce4146460ed9e5231bd1db0925a24b00b34b0ec26da13b12583ce9f58", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "56e2fbfce4146460ed9e5231bd1db0925a24b00b34b0ec26da13b12583ce9f58", kill_on_drop: false }`
[INFO] [stdout] 56e2fbfce4146460ed9e5231bd1db0925a24b00b34b0ec26da13b12583ce9f58
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0ce8ab286941c19eb662d05c6fa36f16adf8eff967b5ae331200ae348ffa0c63
[INFO] running `Command { std: "docker" "start" "-a" "0ce8ab286941c19eb662d05c6fa36f16adf8eff967b5ae331200ae348ffa0c63", kill_on_drop: false }`
[INFO] [stderr]    Compiling winapi-build v0.1.1
[INFO] [stderr]     Checking winapi v0.2.8
[INFO] [stderr]     Checking utf8-ranges v0.1.3
[INFO] [stderr]     Checking regex-syntax v0.3.9
[INFO] [stderr]     Checking memchr v0.1.11
[INFO] [stderr]     Checking getrandom v0.2.12
[INFO] [stderr]     Checking aho-corasick v0.5.3
[INFO] [stderr]    Compiling kernel32-sys v0.2.2
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking thread-id v2.0.0
[INFO] [stderr]     Checking thread_local v0.2.7
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking regex v0.1.80
[INFO] [stderr]     Checking env_logger v0.3.5
[INFO] [stderr]     Checking quickcheck v0.2.27
[INFO] [stderr]     Checking glm v0.2.3
[INFO] [stderr]     Checking ray_tracing_core v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]  --> src/random.rs:8:34
[INFO] [stdout]   |
[INFO] [stdout] 8 |     rand::thread_rng().gen_range(0..3)
[INFO] [stdout]   |                                  ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/random.rs:31:24
[INFO] [stdout]    |
[INFO] [stdout] 31 |         generate_range(range.start.0..range.end.0),
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/random.rs:32:24
[INFO] [stdout]    |
[INFO] [stdout] 32 |         generate_range(range.start.1..range.end.1),
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/random.rs:112:38
[INFO] [stdout]     |
[INFO] [stdout] 112 |         test::assert_in_range(value, 0.0..1.0);
[INFO] [stdout]     |                                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/random.rs:117:36
[INFO] [stdout]     |
[INFO] [stdout] 117 |         let value = generate_range(-1.0..1.0);
[INFO] [stdout]     |                                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/random.rs:118:38
[INFO] [stdout]     |
[INFO] [stdout] 118 |         test::assert_in_range(value, -1.0..1.0);
[INFO] [stdout]     |                                      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/random.rs:124:38
[INFO] [stdout]     |
[INFO] [stdout] 124 |         test::assert_in_range(value, -1.0..1.0);
[INFO] [stdout]     |                                      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/random.rs:130:38
[INFO] [stdout]     |
[INFO] [stdout] 130 |         test::assert_in_range(value, 0.0..1.0);
[INFO] [stdout]     |                                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/random.rs:136:18
[INFO] [stdout]     |
[INFO] [stdout] 136 |         for i in 0..3 {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/random.rs:137:41
[INFO] [stdout]     |
[INFO] [stdout] 137 |             test::assert_in_range(v[i], -1.0..1.0);
[INFO] [stdout]     |                                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/random.rs:145:18
[INFO] [stdout]     |
[INFO] [stdout] 145 |         for i in 0..3 {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/random.rs:146:41
[INFO] [stdout]     |
[INFO] [stdout] 146 |             test::assert_in_range(c[i], 0.0..1.0);
[INFO] [stdout]     |                                         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/random.rs:153:18
[INFO] [stdout]     |
[INFO] [stdout] 153 |         for i in 0..3 {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/random.rs:154:41
[INFO] [stdout]     |
[INFO] [stdout] 154 |             test::assert_in_range(v[i], -1.0..1.0);
[INFO] [stdout]     |                                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/random.rs:161:18
[INFO] [stdout]     |
[INFO] [stdout] 161 |         for i in 0..3 {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/random.rs:162:41
[INFO] [stdout]     |
[INFO] [stdout] 162 |             test::assert_in_range(p[i], -1.0..1.0);
[INFO] [stdout]     |                                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/random.rs:169:37
[INFO] [stdout]     |
[INFO] [stdout] 169 |         test::assert_in_range(uv.u, 0.0..1.0);
[INFO] [stdout]     |                                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/random.rs:170:37
[INFO] [stdout]     |
[INFO] [stdout] 170 |         test::assert_in_range(uv.v, 0.0..1.0);
[INFO] [stdout]     |                                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/math/aabb.rs:33:18
[INFO] [stdout]    |
[INFO] [stdout] 33 |         for a in 0..3 {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/math/aabb.rs:114:30
[INFO] [stdout]     |
[INFO] [stdout] 114 |         assert!(b.hit(&ray1, 0.0..10.0));
[INFO] [stdout]     |                              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/math/aabb.rs:115:31
[INFO] [stdout]     |
[INFO] [stdout] 115 |         assert!(!b.hit(&ray1, 10.0..20.0));
[INFO] [stdout]     |                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/math/aabb.rs:116:31
[INFO] [stdout]     |
[INFO] [stdout] 116 |         assert!(!b.hit(&ray2, 0.0..10.0));
[INFO] [stdout]     |                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/math/perlin.rs:23:32
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let v: Vec<Vector3> = (0..256)
[INFO] [stdout]    |                                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/math/perlin.rs:30:34
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let mut perm: Vec<u8> = (0..256).map(|x| x as u8).collect();
[INFO] [stdout]    |                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/math/perlin.rs:36:18
[INFO] [stdout]    |
[INFO] [stdout] 36 |         for i in 255..1 {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/math/perlin.rs:50:19
[INFO] [stdout]    |
[INFO] [stdout] 50 |         for di in 0..2 {
[INFO] [stdout]    |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/math/perlin.rs:51:23
[INFO] [stdout]    |
[INFO] [stdout] 51 |             for dj in 0..2 {
[INFO] [stdout]    |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/math/perlin.rs:52:27
[INFO] [stdout]    |
[INFO] [stdout] 52 |                 for dk in 0..2 {
[INFO] [stdout]    |                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/math/perlin.rs:69:18
[INFO] [stdout]    |
[INFO] [stdout] 69 |         for i in 0..2 {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/math/perlin.rs:70:22
[INFO] [stdout]    |
[INFO] [stdout] 70 |             for j in 0..2 {
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/math/perlin.rs:71:26
[INFO] [stdout]    |
[INFO] [stdout] 71 |                 for k in 0..2 {
[INFO] [stdout]    |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/math/perlin.rs:88:18
[INFO] [stdout]    |
[INFO] [stdout] 88 |         for _ in 0..depth {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/texture/bitmap_texture.rs:20:30
[INFO] [stdout]    |
[INFO] [stdout] 20 |         let alpha_texture = (0..data.len() / 4).any(|i| data[i * 4 + 3] < 255);
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/texture/noise_texture.rs:107:13
[INFO] [stdout]     |
[INFO] [stdout] 107 |             ColorRGB::new(0.0, 0.0, 0.0)..ColorRGB::new(1.0, 1.0, 1.0),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/material/material_blend.rs:30:18
[INFO] [stdout]    |
[INFO] [stdout] 30 |         for i in 0..materials.len() {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/material/dielectric.rs:131:13
[INFO] [stdout]     |
[INFO] [stdout] 131 |             0.5..0.5,
[INFO] [stdout]     |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/material/dielectric.rs:161:21
[INFO] [stdout]     |
[INFO] [stdout] 161 |                     Vector3::new(-2.0, -2.0, -2.0)..Vector3::new(2.0, 2.0, 2.0),
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/material/dielectric.rs:173:13
[INFO] [stdout]     |
[INFO] [stdout] 173 |             0.5..0.5,
[INFO] [stdout]     |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/material/isotropic.rs:112:21
[INFO] [stdout]     |
[INFO] [stdout] 112 |                     Vector3::new(-1.0, -1.0, -1.0)..Vector3::new(1.0, 1.0, 1.0),
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/material/metal.rs:122:21
[INFO] [stdout]     |
[INFO] [stdout] 122 |                     Vector3::new(-0.5, -0.5, 0.5)..Vector3::new(0.5, 0.5, 1.5),
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/material/lambertian.rs:119:21
[INFO] [stdout]     |
[INFO] [stdout] 119 |                     Vector3::new(-1.0, -1.0, -1.0)..Vector3::new(1.0, 1.0, 1.0),
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/material.rs:157:13
[INFO] [stdout]     |
[INFO] [stdout] 157 |             0.5..0.5,
[INFO] [stdout]     |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/geometry/shape/sphere.rs:97:47
[INFO] [stdout]    |
[INFO] [stdout] 97 |         match self.hit(&Ray::new_ray(*o, *v), 0.001..FSize::MAX) {
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/shape/sphere.rs:132:32
[INFO] [stdout]     |
[INFO] [stdout] 132 |         let b = s.bounding_box(0.0..0.0);
[INFO] [stdout]     |                                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/shape/sphere.rs:154:28
[INFO] [stdout]     |
[INFO] [stdout] 154 |         match s.hit(&ray1, 0.0..10.0) {
[INFO] [stdout]     |                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/shape/sphere.rs:160:28
[INFO] [stdout]     |
[INFO] [stdout] 160 |         match s.hit(&ray1, 10.0..20.0) {
[INFO] [stdout]     |                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/shape/sphere.rs:164:28
[INFO] [stdout]     |
[INFO] [stdout] 164 |         match s.hit(&ray2, 0.0..10.0) {
[INFO] [stdout]     |                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/shape/movable_sphere.rs:119:47
[INFO] [stdout]     |
[INFO] [stdout] 119 |         match self.hit(&Ray::new_ray(*o, *v), 0.001..FSize::MAX) {
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/shape/movable_sphere.rs:156:13
[INFO] [stdout]     |
[INFO] [stdout] 156 |             Point3::new(0.0, 0.0, 0.0)..Point3::new(0.0, 0.0, 1.0),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/shape/movable_sphere.rs:157:13
[INFO] [stdout]     |
[INFO] [stdout] 157 |             0.0..1.0,
[INFO] [stdout]     |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/shape/movable_sphere.rs:161:32
[INFO] [stdout]     |
[INFO] [stdout] 161 |         let b = s.bounding_box(0.0..1.0);
[INFO] [stdout]     |                                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/shape/movable_sphere.rs:174:13
[INFO] [stdout]     |
[INFO] [stdout] 174 |             Point3::new(0.0, 0.0, 0.0)..Point3::new(0.0, 0.0, 1.0),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/shape/movable_sphere.rs:175:13
[INFO] [stdout]     |
[INFO] [stdout] 175 |             0.0..1.0,
[INFO] [stdout]     |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/shape/movable_sphere.rs:183:28
[INFO] [stdout]     |
[INFO] [stdout] 183 |         match s.hit(&ray1, 0.0..10.0) {
[INFO] [stdout]     |                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/shape/movable_sphere.rs:187:28
[INFO] [stdout]     |
[INFO] [stdout] 187 |         match s.hit(&ray1, 10.0..20.0) {
[INFO] [stdout]     |                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/shape/movable_sphere.rs:191:28
[INFO] [stdout]     |
[INFO] [stdout] 191 |         match s.hit(&ray2, 0.0..10.0) {
[INFO] [stdout]     |                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/geometry/shape/xy_rect.rs:81:47
[INFO] [stdout]    |
[INFO] [stdout] 81 |         match self.hit(&Ray::new_ray(*o, *v), 0.001..FSize::MAX) {
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/shape/xy_rect.rs:112:29
[INFO] [stdout]     |
[INFO] [stdout] 112 |         let r = XYRect::new((0.0, 0.0)..(1.0, 1.0), 0.0, Arc::new(NoMaterial::new()));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/shape/xy_rect.rs:113:32
[INFO] [stdout]     |
[INFO] [stdout] 113 |         let b = r.bounding_box(0.0..0.0);
[INFO] [stdout]     |                                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/shape/xy_rect.rs:126:13
[INFO] [stdout]     |
[INFO] [stdout] 126 |             (0.0, 0.0)..(1.0, 1.0),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/shape/xy_rect.rs:135:28
[INFO] [stdout]     |
[INFO] [stdout] 135 |         match r.hit(&ray1, 0.0..10.0) {
[INFO] [stdout]     |                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/shape/xy_rect.rs:139:28
[INFO] [stdout]     |
[INFO] [stdout] 139 |         match r.hit(&ray2, 0.0..10.0) {
[INFO] [stdout]     |                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/shape/xy_rect.rs:143:28
[INFO] [stdout]     |
[INFO] [stdout] 143 |         match r.hit(&ray3, 0.0..10.0) {
[INFO] [stdout]     |                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/geometry/shape/xz_rect.rs:81:47
[INFO] [stdout]    |
[INFO] [stdout] 81 |         match self.hit(&Ray::new_ray(*o, *v), 0.001..FSize::MAX) {
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/shape/xz_rect.rs:112:29
[INFO] [stdout]     |
[INFO] [stdout] 112 |         let r = XZRect::new((0.0, 0.0)..(1.0, 1.0), 0.0, Arc::new(NoMaterial::new()));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/shape/xz_rect.rs:113:32
[INFO] [stdout]     |
[INFO] [stdout] 113 |         let b = r.bounding_box(0.0..0.0);
[INFO] [stdout]     |                                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/shape/xz_rect.rs:126:13
[INFO] [stdout]     |
[INFO] [stdout] 126 |             (0.0, 0.0)..(1.0, 1.0),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/shape/xz_rect.rs:135:28
[INFO] [stdout]     |
[INFO] [stdout] 135 |         match r.hit(&ray1, 0.0..10.0) {
[INFO] [stdout]     |                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/shape/xz_rect.rs:139:28
[INFO] [stdout]     |
[INFO] [stdout] 139 |         match r.hit(&ray2, 0.0..10.0) {
[INFO] [stdout]     |                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/shape/xz_rect.rs:143:28
[INFO] [stdout]     |
[INFO] [stdout] 143 |         match r.hit(&ray3, 0.0..10.0) {
[INFO] [stdout]     |                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/geometry/shape/yz_rect.rs:81:47
[INFO] [stdout]    |
[INFO] [stdout] 81 |         match self.hit(&Ray::new_ray(*o, *v), 0.001..FSize::MAX) {
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/shape/yz_rect.rs:112:29
[INFO] [stdout]     |
[INFO] [stdout] 112 |         let r = YZRect::new((0.0, 0.0)..(1.0, 1.0), 0.0, Arc::new(NoMaterial::new()));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/shape/yz_rect.rs:113:32
[INFO] [stdout]     |
[INFO] [stdout] 113 |         let b = r.bounding_box(0.0..0.0);
[INFO] [stdout]     |                                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/shape/yz_rect.rs:126:13
[INFO] [stdout]     |
[INFO] [stdout] 126 |             (0.0, 0.0)..(1.0, 1.0),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/shape/yz_rect.rs:135:28
[INFO] [stdout]     |
[INFO] [stdout] 135 |         match r.hit(&ray1, 0.0..10.0) {
[INFO] [stdout]     |                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/shape/yz_rect.rs:139:28
[INFO] [stdout]     |
[INFO] [stdout] 139 |         match r.hit(&ray2, 0.0..10.0) {
[INFO] [stdout]     |                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/shape/yz_rect.rs:143:28
[INFO] [stdout]     |
[INFO] [stdout] 143 |         match r.hit(&ray3, 0.0..10.0) {
[INFO] [stdout]     |                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/geometry/shape/cuboid.rs:30:17
[INFO] [stdout]    |
[INFO] [stdout] 30 |                 (b.min.x, b.min.y)..(b.max.x, b.max.y),
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/geometry/shape/cuboid.rs:35:17
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 (b.min.x, b.min.y)..(b.max.x, b.max.y),
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/geometry/shape/cuboid.rs:40:17
[INFO] [stdout]    |
[INFO] [stdout] 40 |                 (b.min.x, b.min.z)..(b.max.x, b.max.z),
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/geometry/shape/cuboid.rs:45:17
[INFO] [stdout]    |
[INFO] [stdout] 45 |                 (b.min.x, b.min.z)..(b.max.x, b.max.z),
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/geometry/shape/cuboid.rs:50:17
[INFO] [stdout]    |
[INFO] [stdout] 50 |                 (b.min.y, b.min.z)..(b.max.y, b.max.z),
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/geometry/shape/cuboid.rs:55:17
[INFO] [stdout]    |
[INFO] [stdout] 55 |                 (b.min.y, b.min.z)..(b.max.y, b.max.z),
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/shape/cuboid.rs:107:13
[INFO] [stdout]     |
[INFO] [stdout] 107 |             Point3::new(-1.0, -1.0, -1.0)..Point3::new(1.0, 1.0, 1.0),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/shape/cuboid.rs:110:32
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let b = r.bounding_box(0.0..0.0);
[INFO] [stdout]     |                                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/shape/cuboid.rs:123:13
[INFO] [stdout]     |
[INFO] [stdout] 123 |             Point3::new(-1.0, -1.0, -1.0)..Point3::new(1.0, 1.0, 1.0),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/shape/cuboid.rs:131:28
[INFO] [stdout]     |
[INFO] [stdout] 131 |         match r.hit(&ray1, 0.0..10.0) {
[INFO] [stdout]     |                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/shape/cuboid.rs:135:28
[INFO] [stdout]     |
[INFO] [stdout] 135 |         match r.hit(&ray2, 0.0..10.0) {
[INFO] [stdout]     |                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/shape/cuboid.rs:139:28
[INFO] [stdout]     |
[INFO] [stdout] 139 |         match r.hit(&ray3, 0.0..10.0) {
[INFO] [stdout]     |                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/geometry/collection/geometry_list.rs:48:37
[INFO] [stdout]    |
[INFO] [stdout] 48 |             match geometry.hit(ray, t_range.start..closest_so_far) {
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/geometry/collection/geometry_list.rs:64:47
[INFO] [stdout]    |
[INFO] [stdout] 64 |         self.list[random::generate_from_range(0..self.list.len())].random(o)
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/geometry/collection/geometry_list.rs:95:33
[INFO] [stdout]    |
[INFO] [stdout] 95 |         let b = hl.bounding_box(0.0..0.0);
[INFO] [stdout]    |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/collection/geometry_list.rs:126:29
[INFO] [stdout]     |
[INFO] [stdout] 126 |         match hl.hit(&ray1, 0.0..10.0) {
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/collection/geometry_list.rs:130:29
[INFO] [stdout]     |
[INFO] [stdout] 130 |         match hl.hit(&ray1, 10.0..20.0) {
[INFO] [stdout]     |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/collection/geometry_list.rs:134:29
[INFO] [stdout]     |
[INFO] [stdout] 134 |         match hl.hit(&ray2, 0.0..10.0) {
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/geometry/collection/bvh_node.rs:53:39
[INFO] [stdout]    |
[INFO] [stdout] 53 |         let left = BVHNode::new(&list[0..list.len() / 2].to_vec(), t_range.clone());
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/geometry/collection/bvh_node.rs:55:19
[INFO] [stdout]    |
[INFO] [stdout] 55 |             &list[(list.len() / 2)..list.len()].to_vec(),
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/collection/bvh_node.rs:159:13
[INFO] [stdout]     |
[INFO] [stdout] 159 |             0.0..0.0,
[INFO] [stdout]     |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/collection/bvh_node.rs:161:33
[INFO] [stdout]     |
[INFO] [stdout] 161 |         let b = hl.bounding_box(0.0..0.0);
[INFO] [stdout]     |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/collection/bvh_node.rs:191:13
[INFO] [stdout]     |
[INFO] [stdout] 191 |             0.0..0.0,
[INFO] [stdout]     |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/collection/bvh_node.rs:195:30
[INFO] [stdout]     |
[INFO] [stdout] 195 |         match bvh.hit(&ray1, 0.0..10.0) {
[INFO] [stdout]     |                              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/collection/bvh_node.rs:199:30
[INFO] [stdout]     |
[INFO] [stdout] 199 |         match bvh.hit(&ray1, 10.0..20.0) {
[INFO] [stdout]     |                              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/collection/bvh_node.rs:203:30
[INFO] [stdout]     |
[INFO] [stdout] 203 |         match bvh.hit(&ray2, 0.0..10.0) {
[INFO] [stdout]     |                              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/geometry/volume/constant_medium.rs:64:38
[INFO] [stdout]    |
[INFO] [stdout] 64 |         match self.boundary.hit(ray, FSize::MIN..FSize::MAX) {
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/geometry/volume/constant_medium.rs:67:46
[INFO] [stdout]    |
[INFO] [stdout] 67 |                 match self.boundary.hit(ray, record_1.t + 0.0001..FSize::MAX) {
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/volume/constant_medium.rs:134:32
[INFO] [stdout]     |
[INFO] [stdout] 134 |         let b = i.bounding_box(0.0..0.0);
[INFO] [stdout]     |                                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/volume/constant_medium.rs:163:28
[INFO] [stdout]     |
[INFO] [stdout] 163 |         match i.hit(&ray1, 0.0..10.0) {
[INFO] [stdout]     |                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/volume/constant_medium.rs:167:28
[INFO] [stdout]     |
[INFO] [stdout] 167 |         match i.hit(&ray1, 10.0..20.0) {
[INFO] [stdout]     |                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/volume/constant_medium.rs:171:28
[INFO] [stdout]     |
[INFO] [stdout] 171 |         match i.hit(&ray2, 0.0..10.0) {
[INFO] [stdout]     |                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/geometry/instancing/flip_normals.rs:70:32
[INFO] [stdout]    |
[INFO] [stdout] 70 |         let b = i.bounding_box(0.0..0.0);
[INFO] [stdout]    |                                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/geometry/instancing/flip_normals.rs:93:28
[INFO] [stdout]    |
[INFO] [stdout] 93 |         match i.hit(&ray1, 0.0..10.0) {
[INFO] [stdout]    |                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/geometry/instancing/flip_normals.rs:99:28
[INFO] [stdout]    |
[INFO] [stdout] 99 |         match i.hit(&ray1, 10.0..20.0) {
[INFO] [stdout]    |                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/instancing/flip_normals.rs:103:28
[INFO] [stdout]     |
[INFO] [stdout] 103 |         match i.hit(&ray2, 0.0..10.0) {
[INFO] [stdout]     |                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/geometry/instancing/rotate_x.rs:29:37
[INFO] [stdout]    |
[INFO] [stdout] 29 |             aabb: node.bounding_box(0.0..1.0),
[INFO] [stdout]    |                                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/instancing/rotate_x.rs:112:13
[INFO] [stdout]     |
[INFO] [stdout] 112 |             Point3::new(-1.0, -1.0, -1.0)..Point3::new(1.0, 1.0, 1.0),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/instancing/rotate_x.rs:116:32
[INFO] [stdout]     |
[INFO] [stdout] 116 |         let b = i.bounding_box(0.0..0.0);
[INFO] [stdout]     |                                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/instancing/rotate_x.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |             Point3::new(-1.0, -1.0, -1.0)..Point3::new(1.0, 1.0, 1.0),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/instancing/rotate_x.rs:137:28
[INFO] [stdout]     |
[INFO] [stdout] 137 |         match i.hit(&ray1, 0.0..10.0) {
[INFO] [stdout]     |                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/instancing/rotate_x.rs:141:28
[INFO] [stdout]     |
[INFO] [stdout] 141 |         match i.hit(&ray1, 10.0..20.0) {
[INFO] [stdout]     |                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/instancing/rotate_x.rs:145:28
[INFO] [stdout]     |
[INFO] [stdout] 145 |         match i.hit(&ray2, 0.0..10.0) {
[INFO] [stdout]     |                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/geometry/instancing/rotate_y.rs:29:37
[INFO] [stdout]    |
[INFO] [stdout] 29 |             aabb: node.bounding_box(0.0..1.0),
[INFO] [stdout]    |                                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/instancing/rotate_y.rs:112:13
[INFO] [stdout]     |
[INFO] [stdout] 112 |             Point3::new(-1.0, -1.0, -1.0)..Point3::new(1.0, 1.0, 1.0),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/instancing/rotate_y.rs:116:32
[INFO] [stdout]     |
[INFO] [stdout] 116 |         let b = i.bounding_box(0.0..0.0);
[INFO] [stdout]     |                                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/instancing/rotate_y.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |             Point3::new(-1.0, -1.0, -1.0)..Point3::new(1.0, 1.0, 1.0),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/instancing/rotate_y.rs:137:28
[INFO] [stdout]     |
[INFO] [stdout] 137 |         match i.hit(&ray1, 0.0..10.0) {
[INFO] [stdout]     |                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/instancing/rotate_y.rs:141:28
[INFO] [stdout]     |
[INFO] [stdout] 141 |         match i.hit(&ray1, 10.0..20.0) {
[INFO] [stdout]     |                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/instancing/rotate_y.rs:145:28
[INFO] [stdout]     |
[INFO] [stdout] 145 |         match i.hit(&ray2, 0.0..10.0) {
[INFO] [stdout]     |                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/geometry/instancing/rotate_z.rs:29:37
[INFO] [stdout]    |
[INFO] [stdout] 29 |             aabb: node.bounding_box(0.0..1.0),
[INFO] [stdout]    |                                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/instancing/rotate_z.rs:112:13
[INFO] [stdout]     |
[INFO] [stdout] 112 |             Point3::new(-1.0, -1.0, -1.0)..Point3::new(1.0, 1.0, 1.0),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/instancing/rotate_z.rs:116:32
[INFO] [stdout]     |
[INFO] [stdout] 116 |         let b = i.bounding_box(0.0..0.0);
[INFO] [stdout]     |                                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/instancing/rotate_z.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |             Point3::new(-1.0, -1.0, -1.0)..Point3::new(1.0, 1.0, 1.0),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/instancing/rotate_z.rs:137:28
[INFO] [stdout]     |
[INFO] [stdout] 137 |         match i.hit(&ray1, 0.0..10.0) {
[INFO] [stdout]     |                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/instancing/rotate_z.rs:141:28
[INFO] [stdout]     |
[INFO] [stdout] 141 |         match i.hit(&ray1, 10.0..20.0) {
[INFO] [stdout]     |                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/instancing/rotate_z.rs:145:28
[INFO] [stdout]     |
[INFO] [stdout] 145 |         match i.hit(&ray2, 0.0..10.0) {
[INFO] [stdout]     |                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/geometry/instancing/translate.rs:81:13
[INFO] [stdout]    |
[INFO] [stdout] 81 |             Point3::new(-1.0, -1.0, -1.0)..Point3::new(1.0, 1.0, 1.0),
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/geometry/instancing/translate.rs:85:32
[INFO] [stdout]    |
[INFO] [stdout] 85 |         let b = i.bounding_box(0.0..0.0);
[INFO] [stdout]    |                                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/geometry/instancing/translate.rs:98:13
[INFO] [stdout]    |
[INFO] [stdout] 98 |             Point3::new(-1.0, -1.0, -1.0)..Point3::new(1.0, 1.0, 1.0),
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/instancing/translate.rs:106:28
[INFO] [stdout]     |
[INFO] [stdout] 106 |         match i.hit(&ray1, 0.0..10.0) {
[INFO] [stdout]     |                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/instancing/translate.rs:110:28
[INFO] [stdout]     |
[INFO] [stdout] 110 |         match i.hit(&ray1, 10.0..20.0) {
[INFO] [stdout]     |                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/instancing/translate.rs:114:28
[INFO] [stdout]     |
[INFO] [stdout] 114 |         match i.hit(&ray2, 0.0..10.0) {
[INFO] [stdout]     |                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry.rs:234:13
[INFO] [stdout]     |
[INFO] [stdout] 234 |             0.0..0.0,
[INFO] [stdout]     |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry.rs:249:13
[INFO] [stdout]     |
[INFO] [stdout] 249 |             0.0..0.0,
[INFO] [stdout]     |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry.rs:267:13
[INFO] [stdout]     |
[INFO] [stdout] 267 |             Point3::new(0.0, 0.0, 0.0)..Point3::new(0.0, 1.0, 0.0),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry.rs:268:13
[INFO] [stdout]     |
[INFO] [stdout] 268 |             0.0..1.0,
[INFO] [stdout]     |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry.rs:279:36
[INFO] [stdout]     |
[INFO] [stdout] 279 |         let r = shape::XYRect::new((0.0, 0.0)..(1.0, 1.0), 0.5, Arc::new(NoMaterial::new()));
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry.rs:287:36
[INFO] [stdout]     |
[INFO] [stdout] 287 |         let r = shape::XZRect::new((0.0, 0.0)..(1.0, 1.0), 0.5, Arc::new(NoMaterial::new()));
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry.rs:295:36
[INFO] [stdout]     |
[INFO] [stdout] 295 |         let r = shape::YZRect::new((0.0, 0.0)..(1.0, 1.0), 0.5, Arc::new(NoMaterial::new()));
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry.rs:304:13
[INFO] [stdout]     |
[INFO] [stdout] 304 |             Point3::new(-1.0, -1.0, -1.0)..Point3::new(1.0, 1.0, 1.0),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/core/scene.rs:53:18
[INFO] [stdout]    |
[INFO] [stdout] 53 |         for _ in 0..self.configuration.maximum_depth {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/core/scene.rs:54:60
[INFO] [stdout]    |
[INFO] [stdout] 54 |             if let Some(hit_record) = self.world.hit(&ray, 0.001..FSize::MAX) {
[INFO] [stdout]    |                                                            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/core/scene.rs:125:35
[INFO] [stdout]     |
[INFO] [stdout] 125 |         match self.world.hit(ray, 0.001..FSize::MAX) {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/core/scene.rs:211:18
[INFO] [stdout]     |
[INFO] [stdout] 211 |         for x in 0..cx {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/core/scene.rs:212:22
[INFO] [stdout]     |
[INFO] [stdout] 212 |             for y in 0..cy {
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/core/scene.rs:214:26
[INFO] [stdout]     |
[INFO] [stdout] 214 |                 for _ in 0..samples {
[INFO] [stdout]     |                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/core/scene.rs:229:55
[INFO] [stdout]     |
[INFO] [stdout] 229 |         assert_in_range(&pixel_data, cx, cy, 3, 1, 2, 245..256);
[INFO] [stdout]     |                                                       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/core/scene.rs:230:56
[INFO] [stdout]     |
[INFO] [stdout] 230 |         assert_in_range(&pixel_data, cx, cy, 10, 3, 0, 110..150);
[INFO] [stdout]     |                                                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/core/scene.rs:231:56
[INFO] [stdout]     |
[INFO] [stdout] 231 |         assert_in_range(&pixel_data, cx, cy, 17, 8, 1, 60..75);
[INFO] [stdout]     |                                                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/core/camera.rs:84:13
[INFO] [stdout]    |
[INFO] [stdout] 84 |             0.0..0.0,
[INFO] [stdout]    |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/core/camera.rs:146:42
[INFO] [stdout]     |
[INFO] [stdout] 146 |                 + random::generate_range(self.time.start..self.time.end)
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/core/camera.rs:190:13
[INFO] [stdout]     |
[INFO] [stdout] 190 |             0.0..0.0,
[INFO] [stdout]     |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/core/camera.rs:204:13
[INFO] [stdout]     |
[INFO] [stdout] 204 |             0.0..0.0,
[INFO] [stdout]     |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/core/camera.rs:218:13
[INFO] [stdout]     |
[INFO] [stdout] 218 |             0.0..0.0,
[INFO] [stdout]     |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/test/test_help.rs:19:14
[INFO] [stdout]    |
[INFO] [stdout] 19 |     for i in 0..3 {
[INFO] [stdout]    |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/test/test_help.rs:27:14
[INFO] [stdout]    |
[INFO] [stdout] 27 |     for i in 0..4 {
[INFO] [stdout]    |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/test/test_help.rs:47:14
[INFO] [stdout]    |
[INFO] [stdout] 47 |     for i in 0..3 {
[INFO] [stdout]    |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/test/test_help.rs:48:31
[INFO] [stdout]    |
[INFO] [stdout] 48 |         assert_in_range(v[i], range.start[i]..range.end[i]);
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/test/test_help.rs:55:14
[INFO] [stdout]    |
[INFO] [stdout] 55 |     for i in 0..4 {
[INFO] [stdout]    |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/test/test_help.rs:56:31
[INFO] [stdout]    |
[INFO] [stdout] 56 |         assert_in_range(v[i], range.start[i]..range.end[i]);
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/test/test_help.rs:96:30
[INFO] [stdout]    |
[INFO] [stdout] 96 |         assert_in_range(0.5, 0.0..1.0);
[INFO] [stdout]    |                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/test/test_help.rs:102:30
[INFO] [stdout]     |
[INFO] [stdout] 102 |         assert_in_range(1.5, 0.0..1.0);
[INFO] [stdout]     |                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/test/test_help.rs:109:13
[INFO] [stdout]     |
[INFO] [stdout] 109 |             Vector3::new(0.0, 0.0, 0.0)..Vector3::new(1.0, 1.0, 1.0),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/test/test_help.rs:118:13
[INFO] [stdout]     |
[INFO] [stdout] 118 |             Vector3::new(0.0, 0.0, 0.0)..Vector3::new(1.0, 1.0, 1.0),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/test/test_scene_simple.rs:32:73
[INFO] [stdout]    |
[INFO] [stdout] 32 |         let world = BVHNode::new(&vec![ground.clone(), sphere.clone()], 0.0..0.0);
[INFO] [stdout]    |                                                                         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/test/test_scene_simple.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |             0.0..0.0,
[INFO] [stdout]    |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]  --> src/random.rs:8:34
[INFO] [stdout]   |
[INFO] [stdout] 8 |     rand::thread_rng().gen_range(0..3)
[INFO] [stdout]   |                                  ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/random.rs:31:24
[INFO] [stdout]    |
[INFO] [stdout] 31 |         generate_range(range.start.0..range.end.0),
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/random.rs:32:24
[INFO] [stdout]    |
[INFO] [stdout] 32 |         generate_range(range.start.1..range.end.1),
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/math/aabb.rs:33:18
[INFO] [stdout]    |
[INFO] [stdout] 33 |         for a in 0..3 {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/math/perlin.rs:23:32
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let v: Vec<Vector3> = (0..256)
[INFO] [stdout]    |                                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/math/perlin.rs:30:34
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let mut perm: Vec<u8> = (0..256).map(|x| x as u8).collect();
[INFO] [stdout]    |                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/math/perlin.rs:36:18
[INFO] [stdout]    |
[INFO] [stdout] 36 |         for i in 255..1 {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/math/perlin.rs:50:19
[INFO] [stdout]    |
[INFO] [stdout] 50 |         for di in 0..2 {
[INFO] [stdout]    |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/math/perlin.rs:51:23
[INFO] [stdout]    |
[INFO] [stdout] 51 |             for dj in 0..2 {
[INFO] [stdout]    |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/math/perlin.rs:52:27
[INFO] [stdout]    |
[INFO] [stdout] 52 |                 for dk in 0..2 {
[INFO] [stdout]    |                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/math/perlin.rs:69:18
[INFO] [stdout]    |
[INFO] [stdout] 69 |         for i in 0..2 {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/math/perlin.rs:70:22
[INFO] [stdout]    |
[INFO] [stdout] 70 |             for j in 0..2 {
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/math/perlin.rs:71:26
[INFO] [stdout]    |
[INFO] [stdout] 71 |                 for k in 0..2 {
[INFO] [stdout]    |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/math/perlin.rs:88:18
[INFO] [stdout]    |
[INFO] [stdout] 88 |         for _ in 0..depth {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/texture/bitmap_texture.rs:20:30
[INFO] [stdout]    |
[INFO] [stdout] 20 |         let alpha_texture = (0..data.len() / 4).any(|i| data[i * 4 + 3] < 255);
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/material/material_blend.rs:30:18
[INFO] [stdout]    |
[INFO] [stdout] 30 |         for i in 0..materials.len() {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/geometry/shape/sphere.rs:97:47
[INFO] [stdout]    |
[INFO] [stdout] 97 |         match self.hit(&Ray::new_ray(*o, *v), 0.001..FSize::MAX) {
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/geometry/shape/movable_sphere.rs:119:47
[INFO] [stdout]     |
[INFO] [stdout] 119 |         match self.hit(&Ray::new_ray(*o, *v), 0.001..FSize::MAX) {
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/geometry/shape/xy_rect.rs:81:47
[INFO] [stdout]    |
[INFO] [stdout] 81 |         match self.hit(&Ray::new_ray(*o, *v), 0.001..FSize::MAX) {
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/geometry/shape/xz_rect.rs:81:47
[INFO] [stdout]    |
[INFO] [stdout] 81 |         match self.hit(&Ray::new_ray(*o, *v), 0.001..FSize::MAX) {
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/geometry/shape/yz_rect.rs:81:47
[INFO] [stdout]    |
[INFO] [stdout] 81 |         match self.hit(&Ray::new_ray(*o, *v), 0.001..FSize::MAX) {
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/geometry/shape/cuboid.rs:30:17
[INFO] [stdout]    |
[INFO] [stdout] 30 |                 (b.min.x, b.min.y)..(b.max.x, b.max.y),
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/geometry/shape/cuboid.rs:35:17
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 (b.min.x, b.min.y)..(b.max.x, b.max.y),
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/geometry/shape/cuboid.rs:40:17
[INFO] [stdout]    |
[INFO] [stdout] 40 |                 (b.min.x, b.min.z)..(b.max.x, b.max.z),
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/geometry/shape/cuboid.rs:45:17
[INFO] [stdout]    |
[INFO] [stdout] 45 |                 (b.min.x, b.min.z)..(b.max.x, b.max.z),
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/geometry/shape/cuboid.rs:50:17
[INFO] [stdout]    |
[INFO] [stdout] 50 |                 (b.min.y, b.min.z)..(b.max.y, b.max.z),
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/geometry/shape/cuboid.rs:55:17
[INFO] [stdout]    |
[INFO] [stdout] 55 |                 (b.min.y, b.min.z)..(b.max.y, b.max.z),
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/geometry/collection/geometry_list.rs:48:37
[INFO] [stdout]    |
[INFO] [stdout] 48 |             match geometry.hit(ray, t_range.start..closest_so_far) {
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/geometry/collection/geometry_list.rs:64:47
[INFO] [stdout]    |
[INFO] [stdout] 64 |         self.list[random::generate_from_range(0..self.list.len())].random(o)
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/geometry/collection/bvh_node.rs:53:39
[INFO] [stdout]    |
[INFO] [stdout] 53 |         let left = BVHNode::new(&list[0..list.len() / 2].to_vec(), t_range.clone());
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/geometry/collection/bvh_node.rs:55:19
[INFO] [stdout]    |
[INFO] [stdout] 55 |             &list[(list.len() / 2)..list.len()].to_vec(),
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/geometry/volume/constant_medium.rs:64:38
[INFO] [stdout]    |
[INFO] [stdout] 64 |         match self.boundary.hit(ray, FSize::MIN..FSize::MAX) {
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/geometry/volume/constant_medium.rs:67:46
[INFO] [stdout]    |
[INFO] [stdout] 67 |                 match self.boundary.hit(ray, record_1.t + 0.0001..FSize::MAX) {
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/geometry/instancing/rotate_x.rs:29:37
[INFO] [stdout]    |
[INFO] [stdout] 29 |             aabb: node.bounding_box(0.0..1.0),
[INFO] [stdout]    |                                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/geometry/instancing/rotate_y.rs:29:37
[INFO] [stdout]    |
[INFO] [stdout] 29 |             aabb: node.bounding_box(0.0..1.0),
[INFO] [stdout]    |                                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/geometry/instancing/rotate_z.rs:29:37
[INFO] [stdout]    |
[INFO] [stdout] 29 |             aabb: node.bounding_box(0.0..1.0),
[INFO] [stdout]    |                                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/core/scene.rs:53:18
[INFO] [stdout]    |
[INFO] [stdout] 53 |         for _ in 0..self.configuration.maximum_depth {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/core/scene.rs:54:60
[INFO] [stdout]    |
[INFO] [stdout] 54 |             if let Some(hit_record) = self.world.hit(&ray, 0.001..FSize::MAX) {
[INFO] [stdout]    |                                                            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/core/scene.rs:125:35
[INFO] [stdout]     |
[INFO] [stdout] 125 |         match self.world.hit(ray, 0.001..FSize::MAX) {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/core/camera.rs:84:13
[INFO] [stdout]    |
[INFO] [stdout] 84 |             0.0..0.0,
[INFO] [stdout]    |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/core/camera.rs:146:42
[INFO] [stdout]     |
[INFO] [stdout] 146 |                 + random::generate_range(self.time.start..self.time.end)
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/test/test_help.rs:19:14
[INFO] [stdout]    |
[INFO] [stdout] 19 |     for i in 0..3 {
[INFO] [stdout]    |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/test/test_help.rs:27:14
[INFO] [stdout]    |
[INFO] [stdout] 27 |     for i in 0..4 {
[INFO] [stdout]    |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/test/test_help.rs:47:14
[INFO] [stdout]    |
[INFO] [stdout] 47 |     for i in 0..3 {
[INFO] [stdout]    |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/test/test_help.rs:48:31
[INFO] [stdout]    |
[INFO] [stdout] 48 |         assert_in_range(v[i], range.start[i]..range.end[i]);
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/test/test_help.rs:55:14
[INFO] [stdout]    |
[INFO] [stdout] 55 |     for i in 0..4 {
[INFO] [stdout]    |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/test/test_help.rs:56:31
[INFO] [stdout]    |
[INFO] [stdout] 56 |         assert_in_range(v[i], range.start[i]..range.end[i]);
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/test/test_scene_simple.rs:32:73
[INFO] [stdout]    |
[INFO] [stdout] 32 |         let world = BVHNode::new(&vec![ground.clone(), sphere.clone()], 0.0..0.0);
[INFO] [stdout]    |                                                                         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/test/test_scene_simple.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |             0.0..0.0,
[INFO] [stdout]    |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/random.rs:12:35
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn generate_from_range(range: Range<usize>) -> usize {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-D explicit-range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/random.rs:23:30
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn generate_range(range: Range<FSize>) -> FSize {
[INFO] [stdout]    |                              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/random.rs:29:33
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn generate_range2d(range: &Range<(FSize, FSize)>) -> (FSize, FSize) {
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/math/aabb.rs:32:43
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub fn hit(&self, ray: &Ray, t_range: Range<FSize>) -> bool {
[INFO] [stdout]    |                                           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[[[glm::Vector3<f64>; 2]; 2]; 2]` does not permit being left uninitialized
[INFO] [stdout]   --> src/math/perlin.rs:49:54
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let mut c: [[[Vector3; 2]; 2]; 2] = unsafe { MaybeUninit::uninit().assume_init() };
[INFO] [stdout]    |                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                                      |
[INFO] [stdout]    |                                                      this code causes undefined behavior when executed
[INFO] [stdout]    |                                                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: floats must be initialized
[INFO] [stdout]    = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public struct field
[INFO] [stdout]   --> src/material/dielectric.rs:16:18
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub ref_idx: Range<FSize>,
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/material/dielectric.rs:21:25
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn new(ref_idx: Range<FSize>, albedo: Arc<dyn Texture>) -> Dielectric {
[INFO] [stdout]    |                         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/geometry/shape/sphere.rs:47:31
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn bounding_box(&self, _: Range<FSize>) -> Option<AABB> {
[INFO] [stdout]    |                               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/geometry/shape/sphere.rs:54:39
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn hit(&self, ray: &Ray, t_range: Range<FSize>) -> Option<HitRecord> {
[INFO] [stdout]    |                                       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public struct field
[INFO] [stdout]   --> src/geometry/shape/movable_sphere.rs:26:23
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub center_range: Range<Point3>,
[INFO] [stdout]    |                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public struct field
[INFO] [stdout]   --> src/geometry/shape/movable_sphere.rs:27:21
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub time_range: Range<FSize>,
[INFO] [stdout]    |                     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/geometry/shape/movable_sphere.rs:34:23
[INFO] [stdout]    |
[INFO] [stdout] 34 |         center_range: Range<Point3>,
[INFO] [stdout]    |                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/geometry/shape/movable_sphere.rs:35:21
[INFO] [stdout]    |
[INFO] [stdout] 35 |         time_range: Range<FSize>,
[INFO] [stdout]    |                     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/geometry/shape/movable_sphere.rs:63:34
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn bounding_box(&self, time: Range<FSize>) -> Option<AABB> {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/geometry/shape/movable_sphere.rs:75:39
[INFO] [stdout]    |
[INFO] [stdout] 75 |     fn hit(&self, ray: &Ray, t_range: Range<FSize>) -> Option<HitRecord> {
[INFO] [stdout]    |                                       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public struct field
[INFO] [stdout]   --> src/geometry/shape/xy_rect.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub rect: Range<(FSize, FSize)>,
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/geometry/shape/xy_rect.rs:20:22
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn new(rect: Range<(FSize, FSize)>, k: FSize, material: Arc<dyn Material>) -> XYRect {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/geometry/shape/xy_rect.rs:46:31
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn bounding_box(&self, _: Range<FSize>) -> Option<AABB> {
[INFO] [stdout]    |                               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/geometry/shape/xy_rect.rs:53:39
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn hit(&self, ray: &Ray, t_range: Range<FSize>) -> Option<HitRecord> {
[INFO] [stdout]    |                                       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public struct field
[INFO] [stdout]   --> src/geometry/shape/xz_rect.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub rect: Range<(FSize, FSize)>,
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/geometry/shape/xz_rect.rs:20:22
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn new(rect: Range<(FSize, FSize)>, k: FSize, material: Arc<dyn Material>) -> XZRect {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/geometry/shape/xz_rect.rs:46:31
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn bounding_box(&self, _: Range<FSize>) -> Option<AABB> {
[INFO] [stdout]    |                               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/geometry/shape/xz_rect.rs:53:39
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn hit(&self, ray: &Ray, t_range: Range<FSize>) -> Option<HitRecord> {
[INFO] [stdout]    |                                       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public struct field
[INFO] [stdout]   --> src/geometry/shape/yz_rect.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub rect: Range<(FSize, FSize)>,
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/geometry/shape/yz_rect.rs:20:22
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn new(rect: Range<(FSize, FSize)>, k: FSize, material: Arc<dyn Material>) -> YZRect {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/geometry/shape/yz_rect.rs:46:31
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn bounding_box(&self, _: Range<FSize>) -> Option<AABB> {
[INFO] [stdout]    |                               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/geometry/shape/yz_rect.rs:53:39
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn hit(&self, ray: &Ray, t_range: Range<FSize>) -> Option<HitRecord> {
[INFO] [stdout]    |                                       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/geometry/shape/cuboid.rs:22:22
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn new(aabb: Range<Point3>, material: Arc<dyn Material>) -> Cuboid {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/geometry/shape/cuboid.rs:26:36
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn new_id(id: usize, aabb: Range<Point3>, material: Arc<dyn Material>) -> Cuboid {
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/geometry/shape/cuboid.rs:74:31
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn bounding_box(&self, _: Range<FSize>) -> Option<AABB> {
[INFO] [stdout]    |                               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/geometry/shape/cuboid.rs:78:39
[INFO] [stdout]    |
[INFO] [stdout] 78 |     fn hit(&self, ray: &Ray, t_range: Range<FSize>) -> Option<HitRecord> {
[INFO] [stdout]    |                                       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/geometry/collection/geometry_list.rs:31:37
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn bounding_box(&self, t_range: Range<FSize>) -> Option<AABB> {
[INFO] [stdout]    |                                     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/geometry/collection/geometry_list.rs:44:39
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn hit(&self, ray: &Ray, t_range: Range<FSize>) -> Option<HitRecord> {
[INFO] [stdout]    |                                       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/geometry/collection/bvh_node.rs:22:56
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn new(list: &Vec<Arc<dyn Geometry>>, t_range: Range<FSize>) -> Arc<dyn Geometry> {
[INFO] [stdout]    |                                                        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/geometry/collection/bvh_node.rs:29:18
[INFO] [stdout]    |
[INFO] [stdout] 29 |         t_range: Range<FSize>,
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/geometry/collection/bvh_node.rs:88:31
[INFO] [stdout]    |
[INFO] [stdout] 88 |     fn bounding_box(&self, _: Range<FSize>) -> Option<AABB> {
[INFO] [stdout]    |                               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/geometry/collection/bvh_node.rs:92:39
[INFO] [stdout]    |
[INFO] [stdout] 92 |     fn hit(&self, ray: &Ray, t_range: Range<FSize>) -> Option<HitRecord> {
[INFO] [stdout]    |                                       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/geometry/collection/leaf_node.rs:18:50
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn new(node: Arc<dyn Geometry>, t_range: Range<FSize>) -> LeafNode {
[INFO] [stdout]    |                                                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/geometry/collection/leaf_node.rs:32:31
[INFO] [stdout]    |
[INFO] [stdout] 32 |     fn bounding_box(&self, _: Range<FSize>) -> Option<AABB> {
[INFO] [stdout]    |                               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/geometry/collection/leaf_node.rs:36:39
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn hit(&self, ray: &Ray, t_range: Range<FSize>) -> Option<HitRecord> {
[INFO] [stdout]    |                                       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/geometry/volume/constant_medium.rs:56:34
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn bounding_box(&self, time: Range<FSize>) -> Option<AABB> {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/geometry/volume/constant_medium.rs:60:39
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn hit(&self, ray: &Ray, t_range: Range<FSize>) -> Option<HitRecord> {
[INFO] [stdout]    |                                       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/geometry/instancing/flip_normals.rs:29:34
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn bounding_box(&self, time: Range<FSize>) -> Option<AABB> {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/geometry/instancing/flip_normals.rs:33:39
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn hit(&self, ray: &Ray, t_range: Range<FSize>) -> Option<HitRecord> {
[INFO] [stdout]    |                                       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/geometry/instancing/rotate_x.rs:64:31
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn bounding_box(&self, _: Range<FSize>) -> Option<AABB> {
[INFO] [stdout]    |                               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/geometry/instancing/rotate_x.rs:68:39
[INFO] [stdout]    |
[INFO] [stdout] 68 |     fn hit(&self, ray: &Ray, t_range: Range<FSize>) -> Option<HitRecord> {
[INFO] [stdout]    |                                       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/geometry/instancing/rotate_y.rs:64:31
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn bounding_box(&self, _: Range<FSize>) -> Option<AABB> {
[INFO] [stdout]    |                               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/geometry/instancing/rotate_y.rs:68:39
[INFO] [stdout]    |
[INFO] [stdout] 68 |     fn hit(&self, ray: &Ray, t_range: Range<FSize>) -> Option<HitRecord> {
[INFO] [stdout]    |                                       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/geometry/instancing/rotate_z.rs:64:31
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn bounding_box(&self, _: Range<FSize>) -> Option<AABB> {
[INFO] [stdout]    |                               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/geometry/instancing/rotate_z.rs:68:39
[INFO] [stdout]    |
[INFO] [stdout] 68 |     fn hit(&self, ray: &Ray, t_range: Range<FSize>) -> Option<HitRecord> {
[INFO] [stdout]    |                                       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/geometry/instancing/translate.rs:35:34
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn bounding_box(&self, time: Range<FSize>) -> Option<AABB> {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/geometry/instancing/translate.rs:42:39
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn hit(&self, ray: &Ray, t_range: Range<FSize>) -> Option<HitRecord> {
[INFO] [stdout]    |                                       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public struct field
[INFO] [stdout]   --> src/core/camera.rs:23:15
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub time: Range<FSize>,
[INFO] [stdout]    |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/core/camera.rs:34:15
[INFO] [stdout]    |
[INFO] [stdout] 34 |         time: Range<FSize>,
[INFO] [stdout]    |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/core/camera.rs:56:15
[INFO] [stdout]    |
[INFO] [stdout] 56 |         time: Range<FSize>,
[INFO] [stdout]    |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/core/camera.rs:96:15
[INFO] [stdout]    |
[INFO] [stdout] 96 |         time: Range<FSize>,
[INFO] [stdout]    |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]    --> src/core/camera.rs:120:15
[INFO] [stdout]     |
[INFO] [stdout] 120 |         time: Range<FSize>,
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/test/test_help.rs:34:44
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub fn assert_in_range<T>(value: T, range: Range<T>)
[INFO] [stdout]    |                                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/test/test_help.rs:46:51
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub fn assert_in_range_vector3(v: Vector3, range: Range<Vector3>) {
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/test/test_help.rs:54:51
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub fn assert_in_range_vector4(v: Vector4, range: Range<Vector4>) {
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 59 previous errors; 50 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ray_tracing_core` (lib) due to 60 previous errors; 50 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: the type `[[[glm::Vector3<f64>; 2]; 2]; 2]` does not permit being left uninitialized
[INFO] [stdout]   --> src/math/perlin.rs:49:54
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let mut c: [[[Vector3; 2]; 2]; 2] = unsafe { MaybeUninit::uninit().assume_init() };
[INFO] [stdout]    |                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                                      |
[INFO] [stdout]    |                                                      this code causes undefined behavior when executed
[INFO] [stdout]    |                                                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: floats must be initialized
[INFO] [stdout]    = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 175 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "0ce8ab286941c19eb662d05c6fa36f16adf8eff967b5ae331200ae348ffa0c63", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0ce8ab286941c19eb662d05c6fa36f16adf8eff967b5ae331200ae348ffa0c63", kill_on_drop: false }`
[INFO] [stdout] 0ce8ab286941c19eb662d05c6fa36f16adf8eff967b5ae331200ae348ffa0c63
